package com.java.program_questions;

import java.util.Scanner;

/**
 * 问题：有一个已经排好序的数组，现输入一个数，要求按原来的规律将它插入数组中
 * 分析：首先判断此数是否大于最后一个数，然后再考虑插入中间的数的情况，插入后此元素之后的数，依次后移一个位置
 */
public class Question30 {
    public static void main(String[] args) {
        int[] a = new int[]{1, 3, 5, 7, 9};

        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数：");
        int number = sc.nextInt();

        for (int i = 0; i < a.length - 1; i++) {
            if (a[i] >= number) {
                // 将元素后移一位
                for (int j = a.length - 1; j > i; j--) {
                    a[j] = a[j - 1];
                }
                // 插入
                a[i] = number;
                break;
            } else {
                a[a.length - 1] = number;
            }
        }

        System.out.print("插入后的顺序是：");
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
    }
}
